package com.gitee.wsl.scheduler.queue

/**
 * @author jack
 * @version 1.0
 * @time 2021/8/23
 */

interface ITask<T> {
    suspend fun execute(): T
}

//typealias ITask<T> = SuspendRunnableWithResult<T>

/**
 * @author jack
 * @version 1.0
 * @time 2022/01/21
 * @description
 */
interface ITagTask : ITask<Unit> {
    /**
     * 任务唯一标识
     */
    fun tag(): String

    /**
     * 等待处理结果
     */
    suspend fun await(): Boolean
}